package com.yj.spring.charpter02;

import com.yj.spring.charpter03.MyBean1;

/**
 * @author YJ
 * 优化：
 * 相比于charpter01，charpter02中类的设计更加符合单一职责，然后各个类之间相互解耦合，更加符合开闭原则。
 *
 * 改进：
 * 1、需要增加单例Bean接口定义，然后把所有的Bean默认为单例模式
 * 2、预留事件监听的接口，方便后续进一步解耦代码逻辑
 * 3、扩展BeanDefiniton，添加一些额外的属性
 *
 */
public class Main {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        MyBean1 myBean = (MyBean1) context.getBean("myBean1");
        System.out.println(myBean.getName());
    }
}
